home *** CD-ROM | disk | FTP | other *** search
/ DS-CD ROM 2 1993 August / DS CD-ROM 2.Ausgabe (August 1993).iso / programm / ds0594 / dbcomp.prg < prev    next >
Text File  |  1993-05-31  |  5KB  |  144 lines

  1. *************************************************************************
  2. *                                                                       *
  3. *  BESCHREIBUNG:                                                        *
  4. *  Das Programm kompiliert alle PRG-Dateien eines Verzeichnisses        *
  5. *                                                                       *
  6. *************************************************************************
  7. *                                                                       *
  8. *  PROZEDUREN und FUNKTIONEN:                                           *
  9. *                                                                       *
  10. *    procedure COMPFEHLER - gibt Compilerfehler aus                     *
  11. *                                                                       *
  12. *************************************************************************
  13. *                                                                       *
  14. *  DATEIEN im Zugriff:                                                  *
  15. *    DBCOMP.DBF           - enthält Dateinamen der PRG-Dateien          *
  16. *                                                                       *
  17. *************************************************************************
  18. *                                                                       *
  19. *  VARIABLEN:                                                           *
  20. *                                                                       *
  21. *************************************************************************
  22. *                                                                       *
  23. *  ÄNDERUNGEN:                                                          *
  24. *                                                                       *
  25. *********************** COPYRIGHT B. HOHENESTER *************************
  26. clear all
  27. clear windows
  28. close all
  29. close procedure
  30. set console on
  31. set carry off
  32. set century off
  33. set clock off
  34. set delimiters to ""
  35. set delimiters off
  36. set device to screen
  37. set echo off
  38. set escape on
  39. set exact off
  40. set exclusive on
  41. set lock on
  42. set message to ""
  43. set near off
  44. set print off
  45. set reprocess to 4
  46. set safety off
  47. set status off
  48. set scoreboard on
  49. set talk off
  50. clear
  51. define window compfehler from 3, 10 to 20, 70
  52. @ 1,2 to 14,75 double
  53. @ 2,4 say "DBCOMP.PRG"
  54. @ 2,20 say "(C) 1990 Manfred Hoffbauer"
  55. @ 2,58 say "Datum: "
  56. @ 2,65 say date()
  57. @ 3,4 say "überarbeitet und erweitert von B. HOHENESTER  (C) 1990"
  58. @ 4,3 say "---...---"
  59. @ 5,4 say "Tool zum Compilieren aller PRG - Dateien eines Verzeichnisses. "
  60. @ 6,3 say "---...---"
  61. @ 7,4 say 'Bitte drücken Sie "J", um mit dem Zusatz RUNTIME zu compilieren '
  62. @ 8,4 say 'oder "N" für ohne RUNTIME:'
  63. @ 9,3 say "---...---"
  64. wahl = "J"
  65. @ 8,33 get wahl picture "@! A" valid wahl $ "JN"
  66. read
  67. altdir = left(set("Directory") + replicate(" ", 68), 68)
  68. korrekt = .F.
  69. do while .NOT. korrekt
  70.   @ 10,4 say "Bitte geben Sie das zu bearbeitende Verzeichnis ein: "
  71.   verzeichnis = left(set("Directory") + replicate(" ", 68), 68)
  72.   @ 11,4 get verzeichnis
  73.   read
  74.   korrekt = .T.
  75.   on error korrekt = .F.
  76.   set directory to &verzeichnis
  77.   on error
  78. enddo
  79. @ 12,3 say "---...---"
  80. save screen to bildschirm
  81. run dir *.prg > temp.dat
  82. restore screen from bildschirm
  83. release screen bildschirm
  84. use dbcomp
  85. zap
  86. append from temp.dat sdf
  87. erase temp.dat
  88. delete all for (.NOT. file(ltrim(rtrim(name)) + "." + ltrim(rtrim(extension)))) .OR. (name = "DBCOMP") .OR. (extension <> "PRG")
  89. pack
  90. go top
  91. zaehler2 = reccount()
  92. zaehler1 = 0
  93. @ 15,14 to 17,65                                 && Rahmen zeichnen
  94. @ 16,15 say replicate("░",50)                    && Rahmen ausfüllen
  95. set console off
  96. on error do compfehler
  97. set alternate to fehler.dat
  98. do while .NOT. eof()
  99.   prgname = ltrim(rtrim(name)) + "." + ltrim(rtrim(extension))
  100.   @ 13,4 say "In Arbeit: "
  101.   @ 13,16 say prgname + replicate(" ",12)
  102.   set alternate on
  103.   ? replicate("*", 70)
  104.   ? prgname
  105.   if wahl = "J"
  106.     compile &prgname runtime
  107.   else
  108.     compile &prgname
  109.   endif
  110.   set alternate off
  111.   zaehler1 = zaehler1 + 1
  112.   prozent = (zaehler1 / zaehler2) * 100
  113.   @ 16,15 say replicate("▓",int(prozent / 2)) + replicate("░",50 - int(prozent / 2))
  114.   select dbcomp
  115.   skip + 1
  116. enddo
  117. set alternate to
  118. set directory to &altdir
  119. release window compfehler
  120. set console on
  121. on error
  122. clear all
  123. clear windows
  124. close all
  125. close procedure
  126. return
  127. *********************************************************************
  128. procedure compfehler
  129. activate window compfehler
  130. set alternate off
  131. set console on
  132. ? "Fehler beim Compilieren der Datei: " + prgname
  133. ? "Compiler-Fehlernummer: "
  134. ?? cerror()
  135. ? "Fehler: "
  136. ?? message()
  137. ? "Bitte eine Taste drücken, um fortzufahren."
  138. i = inkey(0)
  139. set console off
  140. set alternate on
  141. deactivate window compfehler
  142. return
  143. *********************************************************************
  144.